tg-me.com/golangtests/758
Last Update:
go
package main
import (
"fmt"
)
func main() {
funcs := []func(){}
for i := 0; i < 3; i++ {
funcs = append(funcs, func() {
fmt.Println(i)
})
}
for _, f := range funcs {
f()
}
}
β ΠΠ°ΡΠΈΠ°Π½ΡΡ:
A)0 1 2
B)3 3 3
C) ΠΠ°Π½ΠΈΠΊΠ° Π½Π° runtime
D) 0 0 0
π‘ ΠΠΈΡΠΈ ΡΠ²ΠΎΠΉ ΠΎΡΠ²Π΅Ρ Π² ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΡΡ , ΠΈ ΠΎΠ±ΡΡΡΠ½ΠΈ ΠΏΠΎΡΠ΅ΠΌΡ!
β ΠΡΠ°Π²ΠΈΠ»ΡΠ½ΡΠΉ ΠΎΡΠ²Π΅Ρ:
π ΠΠΎΡΠ΅ΠΌΡ ΡΠ°ΠΊ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ:
Π ΡΡΠΎΠΌ ΠΊΠΎΠ΄Π΅ ΡΠΎΠ·Π΄Π°ΡΡΡΡ ΡΡΠ΅Π· ΠΈΠ· Π·Π°ΠΌΡΠΊΠ°Π½ΠΈΠΉ, ΠΈ ΠΊΠ°ΠΆΠ΄ΡΠΉ func() Π²Π½ΡΡΡΠΈ ΡΠΈΠΊΠ»Π° ΡΡΡΠ»Π°Π΅ΡΡΡ Π½Π° ΠΎΠ΄Π½Ρ ΠΈ ΡΡ ΠΆΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ i.
ΠΠ»ΡΡΠ΅Π²ΠΎΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ: i Π½Π΅ ΠΊΠΎΠΏΠΈΡΡΠ΅ΡΡΡ ΠΏΡΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΈΡΠ΅ΡΠ°ΡΠΈΠΈ ΡΠΈΠΊΠ»Π°, Π° ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ°Π΅Ρ ΠΈΠ·ΠΌΠ΅Π½ΡΡΡΡΡ, ΠΈ Π²ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ βΠ·Π°ΠΏΠΎΠΌΠΈΠ½Π°ΡΡβ ΡΡΡΠ»ΠΊΡ Π½Π° ΠΎΠ΄Π½Ρ ΠΈ ΡΡ ΠΆΠ΅ i, Π° Π½Π΅ Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π½Π° ΠΌΠΎΠΌΠ΅Π½Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ.
Π ΠΌΠΎΠΌΠ΅Π½ΡΡ Π²ΡΠ·ΠΎΠ²Π° Π²ΡΠ΅Ρ ΡΡΠ½ΠΊΡΠΈΠΉ (f() Π² ΠΊΠΎΠ½ΡΠ΅) ΡΠΈΠΊΠ» ΡΠΆΠ΅ Π·Π°Π²Π΅ΡΡΡΠ½, ΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ i ΡΡΠ°Π»ΠΎ 3.
π ΠΠΎΡΡΠΎΠΌΡ ΠΊΠ°ΠΆΠ΄Π°Ρ ΡΡΠ½ΠΊΡΠΈΡ Π²ΡΠ²ΠΎΠ΄ΠΈΡ 3, Π° Π½Π΅ 0, 1, 2.
@golangtests